Most computer systems have been designed such that users have to log into a system from their own workstation by using their unique user name and password. A server of the system, typically an authentication server, checks whether such a user name has been defined among the users of the system and whether a given password corresponds with said user name. If so, the user is allowed to access the system; otherwise no access is allowed. This is to guarantee that the system is secure, i.e. to prevent unauthorized users from accessing the system. When the workstations have a fixed connection to the computer system through, for example, integrated cabling, this method of identifying users usually suffices.
Nowadays, however, remote connections are often needed in a computer system. This means that the user's workstation does not have a fixed connection to the computer system but the connection is established through a public network, typically a telephone network. Through a modem, for example, the workstation is connected to the telephone network, through which a telephone connection is established to the system through a modem series of the system. In such a case, much more is required of the identification of the user because the connection is established through a public telephone network whose security cannot be controlled by the system administrator. Identifying users on the basis of user names and passwords in a connection established over a public network is dubious since unauthorized access to the system then becomes possible by e.g. guessing the user names and passwords. User names are often formed from the names of the users, and if the users themselves may choose their passwords, they are quite often easy to infer or guess.
The connections between a terminal and a computer system are often implemented by using a protocol called a PPP (Point-to-Point) protocol. PPP connections often utilize methods called a CHAP (Challenge-Handshake Authentication Protocol) method or a PAP (Password Authentication Protocol) method. In the PAP method, a password is transferred over a transmission path unencrypted, so the protection it provides is quite weak. The CHAP method utilizes an encrypted password. In the method, the same algorithm is applied at both ends of the transmission path. The network transmits a random number to the terminal, which computes a secret value on the basis of the number, user name and password by utilizing the algorithm. The secret value, password and user name are transmitted to the network, which computes a password from the secret value and compares it with the transmitted password.
It is further known to use a method called a RADIUS (Remote Authentication Dial In User Service Protocol, RFC 2138) method when a user logs in.
Various methods have also been developed for enhancing the reliability and security in identifying a user of a computer system. Since passwords defined by the user are often easy to crack, the prior art solutions utilize one-time passwords. Hence, each password is only used once when the user logs in, and even if a third party were to crack the password, it would be of no use since another password would be used the next time. In this method, both the user and the authentication server of the computer system must have corresponding password lists available. The user may have the password list written on paper, for example, or alternatively, a separate device called a trusted device may be used to generate one-time passwords.
U.S. Pat. No. 5,485,519 discloses a method wherein a user has a separate device to generate a password. The user enters a predetermined password into the device, which forms from the password and encrypted bit sequence programmed into the device a password to be used on the connection. This password is encrypted and stored in the device to be used for generating the next password. In the solution of the publication, the password generated by the device has to be inputted into a processor apparatus establishing the connection, such as a computer, for example, through a magnetic tape reader or diskette drive.
U.S. Pat. No. 4,720,860 discloses a solution utilizing one-time passwords wherein a user has a separate device, e.g. a card of the smart card type, which generates a one-time password to be read by the user from the display of the device and entered by the user into a computer operating as a means of communication. The device generates a one-time code on the basis of a fixed code and a varying parameter, such as time. The fixed code is programmed in the device. It is also feasible that the fixed code is inputted into the device. The authentication server of the computer system calculates a second identification number by utilizing the same parameters, and if the identification numbers match, the connection is allowed and feasible.
U.S. Pat. Nos. 5,657,388, 5,373,559 and 5,491,752 disclose another solution utilizing one-time passwords wherein a user has a simple, separate device called a token, such as a memory card, for example, with a secret code stored therein. A means of communication, a portable computer, for example, reads the secret code from the memory of the card. The user enters his or her personal password into the communication means, which generates a one-time password on the basis of the secret code, password and time, and which then transmits the generated password to the authentication server of the computer system.
In all prior art solutions described above, the user has to carry with him several devices, i.e. a separate password generator, typically a card of the smart card type, and the actual communication means for establishing a connection to the desired computer system. Furthermore, in all known solutions, the user has to actively either enter the one-time password read from the smart card into the communication means or alternatively, supply the entire card into the communication means, thus enabling the data in the card to be read.